home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / management / BinaryRelQueryExp.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.4 KB  |  123 lines

  1. package javax.management;
  2.  
  3. class BinaryRelQueryExp extends QueryEval implements QueryExp {
  4.    private static final long serialVersionUID = -5690656271650491000L;
  5.    private int relOp;
  6.    private ValueExp exp1;
  7.    private ValueExp exp2;
  8.  
  9.    public BinaryRelQueryExp() {
  10.    }
  11.  
  12.    public BinaryRelQueryExp(int var1, ValueExp var2, ValueExp var3) {
  13.       this.relOp = var1;
  14.       this.exp1 = var2;
  15.       this.exp2 = var3;
  16.    }
  17.  
  18.    public int getOperator() {
  19.       return this.relOp;
  20.    }
  21.  
  22.    public ValueExp getLeftValue() {
  23.       return this.exp1;
  24.    }
  25.  
  26.    public ValueExp getRightValue() {
  27.       return this.exp2;
  28.    }
  29.  
  30.    public boolean apply(ObjectName var1) throws BadStringOperationException, BadBinaryOpValueExpException, BadAttributeValueExpException, InvalidApplicationException {
  31.       ValueExp var2 = this.exp1.apply(var1);
  32.       ValueExp var3 = this.exp2.apply(var1);
  33.       boolean var16 = var2 instanceof NumericValueExp;
  34.       boolean var17 = var2 instanceof BooleanValueExp;
  35.       if (var16) {
  36.          if (((NumericValueExp)var2).isLong()) {
  37.             long var10 = ((NumericValueExp)var2).longValue();
  38.             long var12 = ((NumericValueExp)var3).longValue();
  39.             switch (this.relOp) {
  40.                case 0:
  41.                   return var10 > var12;
  42.                case 1:
  43.                   return var10 < var12;
  44.                case 2:
  45.                   return var10 >= var12;
  46.                case 3:
  47.                   return var10 <= var12;
  48.                case 4:
  49.                   return var10 == var12;
  50.             }
  51.          } else {
  52.             double var6 = ((NumericValueExp)var2).doubleValue();
  53.             double var8 = ((NumericValueExp)var3).doubleValue();
  54.             switch (this.relOp) {
  55.                case 0:
  56.                   return var6 > var8;
  57.                case 1:
  58.                   return var6 < var8;
  59.                case 2:
  60.                   return var6 >= var8;
  61.                case 3:
  62.                   return var6 <= var8;
  63.                case 4:
  64.                   return var6 == var8;
  65.             }
  66.          }
  67.       } else if (var17) {
  68.          boolean var14 = ((BooleanValueExp)var2).getValue();
  69.          boolean var15 = ((BooleanValueExp)var3).getValue();
  70.          switch (this.relOp) {
  71.             case 0:
  72.                return var14 && !var15;
  73.             case 1:
  74.                return !var14 && var15;
  75.             case 2:
  76.                return var14 || !var15;
  77.             case 3:
  78.                return !var14 || var15;
  79.             case 4:
  80.                return var14 == var15;
  81.          }
  82.       } else {
  83.          String var4 = ((StringValueExp)var2).getValue();
  84.          String var5 = ((StringValueExp)var3).getValue();
  85.          switch (this.relOp) {
  86.             case 0:
  87.                return var4.compareTo(var5) > 0;
  88.             case 1:
  89.                return var4.compareTo(var5) < 0;
  90.             case 2:
  91.                return var4.compareTo(var5) >= 0;
  92.             case 3:
  93.                return var4.compareTo(var5) <= 0;
  94.             case 4:
  95.                return var4.compareTo(var5) == 0;
  96.          }
  97.       }
  98.  
  99.       return false;
  100.    }
  101.  
  102.    public String toString() {
  103.       return "(" + this.exp1 + ") " + this.relOpString() + " (" + this.exp2 + ")";
  104.    }
  105.  
  106.    private String relOpString() {
  107.       switch (this.relOp) {
  108.          case 0:
  109.             return ">";
  110.          case 1:
  111.             return "<";
  112.          case 2:
  113.             return ">=";
  114.          case 3:
  115.             return "<=";
  116.          case 4:
  117.             return "=";
  118.          default:
  119.             return "=";
  120.       }
  121.    }
  122. }
  123.